﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Ferreteria.Forms
{
    public partial class frmRegistrarAuthorizacion : Form
    {
        public frmRegistrarAuthorizacion()
        {
            InitializeComponent();

            // C = es Nota de Credito
            // D = es Nota de Debito
            // R = es Remito

            dtpFechaLimite.MinDate = DateTime.Now.Date;
        }

        private void btnAceptar_Click(object sender, EventArgs e)
        {
            DisancoEntities context = new DisancoEntities(Ferreteria.Clases.Constantes.cadenaConexion);

            Autorizaciones nuevaAutorizacion = new Autorizaciones();

            try
            {
                string limiteMinimo = txbNumeroMinimo.Text.Replace("-", "");
                string limiteMaximo = txbNumeroMaximo.Text.Replace("-", "");

                nuevaAutorizacion.autorizacion_tipo_comp = (string)cmbTipoComp.SelectedItem;
                nuevaAutorizacion.autorizacion_limite_fecha = dtpFechaLimite.Value;
                nuevaAutorizacion.autorizacion_limite_min = Convert.ToInt32(limiteMinimo);
                nuevaAutorizacion.autorizacion_limite_max = Convert.ToInt32(limiteMaximo);
                nuevaAutorizacion.autorizacion_ultimo_numero = Convert.ToInt32(limiteMinimo) - 1;
                nuevaAutorizacion.autorizacion_estado = true;

                context.Autorizaciones.AddObject(nuevaAutorizacion);
                context.SaveChanges();
                this.Close();
            }
            catch
            {
                MessageBox.Show("Error en uno de los campos");
            }
        }

        private void btnCancelar_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        void verificar()
        {
            string nroMinimo = txbNumeroMinimo.Text.Replace("-","").Replace(" ","");
            string nroMaximo = txbNumeroMaximo.Text.Replace("-","").Replace(" ","");

            if ((cmbTipoComp.SelectedItem != null) && (nroMinimo.Count() == 12) && (nroMaximo.Count() == 12))
                btnAceptar.Enabled = true;
            else
                btnAceptar.Enabled = false;
        }

        private void cmbTipoComp_SelectedIndexChanged(object sender, EventArgs e)
        {
            verificar();
        }

        private void txbNumeroMinimo_TextChanged(object sender, EventArgs e)
        {
            verificar();
        }

        private void txbNumeroMaximo_TextChanged(object sender, EventArgs e)
        {
            verificar();
        }
    }
}
